package com.ruoyi.zhgd.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.zhgd.util.PageUtils;
import com.ruoyi.zhgd.domain.NLaboratoryAsphaltPenetrometerRes;
import com.ruoyi.zhgd.domain.bo.ZjExperimentBindingBo;
import com.ruoyi.zhgd.domain.vo.NLaboratoryAsphaltPenetrometerResVo;
import com.ruoyi.zhgd.domain.bo.NLaboratoryAsphaltPenetrometerResBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 沥青针入度仪_结果Service接口
 *
 * @author zyb
 * @date 2023-09-11
 */
public interface INLaboratoryAsphaltPenetrometerResService {

    /**
     * 查询沥青针入度仪_结果
     */
    NLaboratoryAsphaltPenetrometerResVo queryById(String id);

    /**
     * 查询沥青针入度仪_结果列表
     */
    TableDataInfo<NLaboratoryAsphaltPenetrometerResVo> queryPageList(NLaboratoryAsphaltPenetrometerResBo bo, PageQuery pageQuery);

    /**
     * 查询沥青针入度仪_结果列表
     */
    List<NLaboratoryAsphaltPenetrometerResVo> queryList(NLaboratoryAsphaltPenetrometerResBo bo);

    /**
     * 新增沥青针入度仪_结果
     */
    Boolean insertByBo(NLaboratoryAsphaltPenetrometerResBo bo);

    /**
     * 修改沥青针入度仪_结果
     */
    Boolean updateByBo(NLaboratoryAsphaltPenetrometerResBo bo);

    /**
     * 校验并批量删除沥青针入度仪_结果信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);

    PageUtils queryPage(Page page, Map<String, Object> params);

    List<NLaboratoryAsphaltPenetrometerRes> selectPenetrometer(List<String> ids);

    void updateByBos(List<NLaboratoryAsphaltPenetrometerRes> penetrometerRes);

    Page<Map<String, Object>> selectZrdPage(ZjExperimentBindingBo bo, Page<Object> build);

    void updateStatus(String laboratoryId, Integer eligible, Integer relevance);

    String selectDeptId(String deviceId);
}
